<div class="problem-statement">
 <div class="header">
  <div class="title">
   C. Rooks Defenders
  </div>
  <div class="time-limit">
   <div class="property-title">
    time limit per test
   </div>1 second
  </div>
  <div class="memory-limit">
   <div class="property-title">
    memory limit per test
   </div>256 megabytes
  </div>
  <div class="input-file">
   <div class="property-title">
    input
   </div>standard input
  </div>
  <div class="output-file">
   <div class="property-title">
    output
   </div>standard output
  </div>
 </div>
 <div>
  <p>You have a square chessboard of size $n \times n$. Rows are numbered from top to bottom with numbers from $1$ to $n$, and columns&nbsp;— from left to right with numbers from $1$ to $n$. So, each cell is denoted with pair of integers $(x, y)$ ($1 \le x, y \le n$), where $x$ is a row number and $y$ is a column number.</p>
  <p>You have to perform $q$ queries of three types:</p>
  <ul> 
   <li> Put a new rook in cell $(x, y)$. </li>
   <li> Remove a rook from cell $(x, y)$. It's guaranteed that the rook was put in this cell before. </li>
   <li> Check if each cell of <span class="tex-font-style-it">subrectangle</span> $(x_1, y_1) - (x_2, y_2)$ of the board is attacked by at least one rook. </li>
  </ul>
  <p><span class="tex-font-style-it">Subrectangle</span> is a set of cells $(x, y)$ such that for each cell two conditions are satisfied: $x_1 \le x \le x_2$ and $y_1 \le y \le y_2$.</p>
  <p>Recall that cell $(a, b)$ is attacked by a rook placed in cell $(c, d)$ if either $a = c$ or $b = d$. In particular, the cell containing a rook is attacked by this rook.</p>
 </div>
 <div class="input-specification">
  <div class="section-title">
   Input
  </div>
  <p>The first line contains three integers $n$ and $q$ ($1 \le n \le 10^5$, $1 \le q \le 2 \cdot 10^5$)&nbsp;— the size of the chessboard and the number of queries, respectively.</p>
  <p>Each of the following $q$ lines contains description of a query. Description begins with integer $t$ ($t \in \{1, 2, 3\}$) which denotes type of a query:</p>
  <ul> 
   <li> If $t = 1$, two integers $x$ and $y$ follows ($1 \le x, y \le n$)&nbsp;— coordinated of the cell where the new rook should be put in. It's guaranteed that there is no rook in the cell $(x, y)$ at the moment of the given query. </li>
   <li> If $t = 2$, two integers $x$ and $y$ follows ($1 \le x, y \le n$)&nbsp;— coordinates of the cell to remove a rook from. It's guaranteed that there is a rook in the cell $(x, y)$ at the moment of the given query. </li>
   <li> If $t = 3$, four integers $x_1, y_1, x_2$ and $y_2$ follows ($1 \le x_1 \le x_2 \le n$, $1 \le y_1 \le y_2 \le n$)&nbsp;— subrectangle to check if each cell of it is attacked by at least one rook. </li>
  </ul>
  <p>It's guaranteed that among $q$ queries there is at least one query of the third type.</p>
 </div>
 <div class="output-specification">
  <div class="section-title">
   Output
  </div>
  <p>Print the answer for each query of the third type in a separate line. Print "<span class="tex-font-style-tt">Yes</span>" (without quotes) if each cell of the subrectangle is attacked by at least one rook.</p>
  <p>Otherwise print "<span class="tex-font-style-tt">No</span>" (without quotes).</p>
 </div>
 <div class="sample-tests">
  <div class="section-title">
   Example
  </div>
  <div class="sample-test">
   <div class="input">
    <div class="title">
     Input
    </div>
    <pre>8 10
1 2 4
3 6 2 7 2
1 3 2
3 6 2 7 2
1 4 3
3 2 6 4 8
2 4 3
3 2 6 4 8
1 4 8
3 2 6 4 8
</pre>
   </div>
   <div class="output">
    <div class="title">
     Output
    </div>
    <pre>No
Yes
Yes
No
Yes
</pre>
   </div>
  </div>
 </div>
 <div class="note">
  <div class="section-title">
   Note
  </div>
  <p>Consider example. After the first two queries the board will look like the following picture (the letter $R$ denotes cells in which rooks are located, the subrectangle of the query of the third type is highlighted in green):</p>
  <center> 
   <img class="tex-graphics" src="https://espresso.codeforces.com/369760882705dbc8b072dafe06f2c13085b99b38.png" style="max-width: 100.0%;max-height: 100.0%;"> 
  </center>
  <p>Chessboard after performing the third and the fourth queries:</p>
  <center> 
   <img class="tex-graphics" src="https://espresso.codeforces.com/d92eb2b5db0ac3bdfb8f3eb1fe8ef49bce3b3e22.png" style="max-width: 100.0%;max-height: 100.0%;"> 
  </center>
  <p>Chessboard after performing the fifth and the sixth queries:</p>
  <center> 
   <img class="tex-graphics" src="https://espresso.codeforces.com/9496e220401fcae5654664d675b4ee1b45c70e19.png" style="max-width: 100.0%;max-height: 100.0%;"> 
  </center>
  <p>Chessboard after performing the seventh and the eighth queries:</p>
  <center> 
   <img class="tex-graphics" src="https://espresso.codeforces.com/2851a8bb27fd61d462690852c862a361f0146d6f.png" style="max-width: 100.0%;max-height: 100.0%;"> 
  </center>
  <p>Chessboard after performing the last two queries:</p>
  <center> 
   <img class="tex-graphics" src="https://espresso.codeforces.com/c1290cfed0db83ba2a3130f1b07e5ca217fbbdca.png" style="max-width: 100.0%;max-height: 100.0%;"> 
  </center>
 </div>
</div>